package com.itheima.wait;

public class Foodie extends Thread{
    @Override
    public void run() {
        /*
        1.循环
        2.同步代码块
        3.判断共享数据是否到达了末尾（到了末尾）
        4.判断共享数据是否到达了末尾（没有到达末尾）
         */
        while (true){
            synchronized (Desk.lock){
                //3.判断共享数据是否到达了末尾（到了末尾）
                if(Desk.count == 0){
                    break;
                }else{
                    //判断是否有实物的存在
                    if(Desk.foodFlag  == 0){
                        //没有实物进行等待
                        try {
                            Desk.lock.wait();
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                    }else{
                        //进行--
                        Desk.count--;
                        //有食物就吃 然后count--
                        System.out.println("吃了一碗面条还能吃" + Desk.count + "碗！！！");
                        //唤醒厨师继续做食物
                        Desk.lock.notify();
                        //修改桌子的状态
                        Desk.foodFlag = 0;
                    }
                }
            }
        }
    }
}
